java什么距离计算(经度、纬度)更精确?
我正在比较计算两点之间距离的两种不同方法
哈弗森公式可在以下页面找到:http://www.movable-type.co.uk/scripts/latlong.html
geotools库的以下功能:
GeodeticCalculator geodeticCalculator = new GeodeticCalculator();
geodeticCalculator.setStartingGeographicPoint(lng1, lat1);
geodeticCalculator.setDestinationGeographicPoint(lng2, lat2);
double distance = geodeticCalculator.getOrthodromicDistance();
两个坐标在大约100米范围内的结果相差约3米。对于更长的距离(约1000公里),甚至更长的距离(约公里)。 但也很难确定哪一个更精确,因为你没有一个你真正可以信任的参考资料。(例如,不知道谷歌地图是否如此精确)
有什么想法吗
# 1 楼答案
经过进一步研究,我想回答一下自己的问题:
Geotools库在这里更精确,因为如果使用空构造函数实例化,它默认使用WGS84模型
另一个公式使用了一个不精确的地球球形模型
# 2 楼答案
我不是专家,但哈弗森公式的文件说它假设地球是球形的。而地球实际上是一个大地水准面形状。所以我假设大地测量计算器更精确
如果你想要更多细节,最好在GIS堆栈交换中询问